package br.com.esporte.negocios.controlador.imp;

import java.util.ArrayList;
import java.util.Collection;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import br.com.esporte.negocios.controlador.IControladorGrupoEsporteIndividual;
import br.com.esporte.negocios.entidade.imp.GrupoEsporteIndividual;
import br.com.esporte.negocios.entidade.imp.Usuario;
import br.com.esporte.negocios.exeption.EsporteException;
import br.com.esporte.negocios.exeption.NegociosException;
import br.com.esporte.repositorio.DAO.imp.GrupoEsporteIndividualDAO;
import br.com.esporte.repositorio.filtro.imp.FiltroGrupoEsporteIndividual;

/**
 * @author Milton Domingues
 */
@Service
public class ControladorGrupoEsporteIndividual extends ControladorGenerico<GrupoEsporteIndividual, Long, FiltroGrupoEsporteIndividual, GrupoEsporteIndividualDAO> implements IControladorGrupoEsporteIndividual {

	@Autowired
	public ControladorGrupoEsporteIndividual(GrupoEsporteIndividualDAO grupoEsporteDAO) {
		super(grupoEsporteDAO);
	}

	@Override
	public void resolverPerDependencias(GrupoEsporteIndividual vo, Usuario usuario) {

	}

	@Override
	public void resolverPosDependencias(GrupoEsporteIndividual vo, Usuario usuario) {

	}

	@Override
	public void tratarDadosEntidade(GrupoEsporteIndividual vo) {

	}

	@Override
	public void validarAlteracao(GrupoEsporteIndividual vo) {
		Collection<EsporteException> erros = new ArrayList<EsporteException>();
		this.validarEntidade(vo, erros);
		if (erros.size() > 0) {
			throw new NegociosException(erros);
		}
	}

	private void validarEntidade(GrupoEsporteIndividual vo, Collection<EsporteException> erros) {

	}

	@Override
	public void validarExclusao(GrupoEsporteIndividual vo) {

	}

	@Override
	public void validarInclusao(GrupoEsporteIndividual vo) {
		Collection<EsporteException> erros = new ArrayList<EsporteException>();
		this.validarEntidade(vo, erros);
		if (erros.size() > 0) {
			throw new NegociosException(erros);
		}
	}

	@Override
	public void validarUnicidade(GrupoEsporteIndividual vo) {

	}
}
